package cn.hxzy.office.service.impl;

import cn.hxzy.office.dao.UserDao;
import cn.hxzy.office.entity.User;
import cn.hxzy.office.service.UserService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * (User)表服务实现类
 *
 * @author makejava
 * @since 2020-07-29 22:18:24
 */
@Service("userService")
public class UserServiceImpl implements UserService {
    @Resource
    private UserDao userDao;

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    @Override
    public User queryById(Integer id) {
        return this.userDao.queryById(id);
    }

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    @Override
    public List<User> queryAllByLimit(int offset, int limit) {
        return this.userDao.queryAllByLimit(offset, limit);
    }

    /**
     * 新增数据
     *
     * @param user 实例对象
     * @return 实例对象
     */
    @Override
    public User insert(User user) {
        System.out.println("**************\n" + user + "\n****************");
        this.userDao.insert(user);
        return user;
    }

    /**
     * 修改数据
     *
     * @param user 实例对象
     * @return 实例对象
     */
    @Override
    public User update(User user) {
        System.out.println(user);
        this.userDao.update(user);
        return this.queryById(user.getId());
    }

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Integer id) {
        return this.userDao.deleteById(id) > 0;
    }

    /**
     * 查询所有信息
     *
     * @return
     */
    @Override
    public List<User> queryAll() {
        return userDao.getAll();
    }

    /**
     * 档案查询所有信息
     *
     * @return
     */
    @Override
    public List<User> findAll() {
        return userDao.findAll();
    }

    /**
     * 查询所有信息以薪资为准
     *
     * @return
     */
    @Override
    public List<User> findAllWithWages() {
        return userDao.findAllWithWages();
    }

    /**
     * 登录判断
     *
     * @return
     */
    @Override
    public User login(User user) {
        User user1 = userDao.findByLoginName(user);
        if (user1 != null) {
            user.setId(user1.getId());
            System.out.println("user1:" + user1);
            return user;
        }
        return null;
    }


}